import React, { Component } from "react";
import "./PersonalCreditAmountContract.scss";
import { connect } from "react-redux";
import { Toast } from "antd-mobile";
import MainLayout from "../../component/mainLayout/mainLayout";
import { getAppPlatformsDatas } from "../../Redux/Action/nativeDatas/nativeDatas";
import { setUserType } from "../../Redux/Action/credit/AuthenticationA";
import yhTools from "../../tools/yh";

class PersonalCreditAmountContract extends Component {
	constructor(props) {
		super(props);
		this.state = {
			isScrollBottom: true,
			objContact: {
				1: "",
				2: "",
				3: "",
				5: "",
				6: "",
				7: "",
				8: "",
				9: "",
				10: "",
				11: "",
				12: "",
				13: "",
				14: "",
				15: "",
				16: "",
				17: "",
				18: "",
				19: "",
				20: ""
			}
		};
	}

	componentDidMount() {
		/* this.getInitData(); */

		if (this.props.location.query) {
			if (this.props.location.query.name == "myProtocolList") {
				window.sessionStorage.setItem("myProtocolList", "myProtocolList");
			}
		}
	}

	componentWillUnmount() {
		this.props._setUserType({ personalContract: "0" }); //这个标记在循环额度额度合同页面左上角返回事件，如果为1返回到额度页面，否则到首页
	}

	//获取合同中的数据
	/* getInitData = () => {
    const params = {
      url: `/personal/getContract/0`,
      header: this.props.getAppPlatformsDatas,
      params: { type: "2" },
      _alertShow: false
    };
    yhTools.request(params).then(res => {
      if (res.code == "0") {
        this.setState({
          objContact: res.data.fieldMap
        });
      } else {
        Toast.info(res.message, 2);
      }
    });
  }; */

	goBack() {
		this.props._setUserType({ eDuBack: "0" });
		this.props.history.goBack();
	}

	render() {
		let headerParams;
		//循环额度额度合同页面签署合同标记：0-签署（返回首页），1-不签署（返回计算额度）
		//返回首页
		headerParams = {
			header: {
				title: "个人循环信用额度贷款合同"
			},
			history: this.props.history
		};
		return (
			<MainLayout pageParams={headerParams} isScroll={false}>
				<div className="personal-credit-amount-contract1-page">
					<div className="content-body" id="contentBody">
						<div className="services-title">个人循环信用额度贷款合同</div>
						<br />
						<strong>
							<p className="PersonalCreditAmountContract-code">
								合同编号：{/* this.state.objContact[1] */}
							</p>
							<br />
							甲方（贷款人）：重庆永辉小额贷款有限公司
							<br />
							乙方（借款人）：{/* this.state.objContact[2] */}
							<br />
							身份证号码：{/* this.state.objContact[3] */}
							<br />
							联系地址：{/* this.state.objContact[4] */}
							<br />
							<br />
							特别提醒：您使用"永辉金融"服务或通过网络页面、手机客户端或其它应用等界面点击或以其他方式同意/确认/接受本合同，即表示您与本公司已达成本合同并同意接受本合同的约束。在接受本合同之前，请您仔细阅读本合同的全部内容，尤其是加粗部分。如果您不同意本合同的任意内容，或者无法准确理解该条款的含义，请不要进行后续操作。
						</strong>
						<br />
						<br />
						<strong>一、定义</strong>
						<br />
						1、小辉付付款服务：指本公司根据您的授信额度向你提供仅限于日常消费用途的融资服务。您可以将授信额度内资金在指定商户处购买相应的商品或服务，前述资金将以委托支付的方式由甲方定向发放至您交易商户的账户，交易完成即视为本公司向您提供了贷款服务。
						<br />
						2、授信额度：指本公司基于对您的风险评估而授予您的信用额度，您可以在该额度范围内使用本公司提供的消费金融服务。本公司将基于您届时的交易场景和风险等情况不定时调整您使用本服务的付款限额，如单笔限额、每日限额或每月限额等。
						<br />
						3、订单：指您与单一商户在同一时间就单个或多个商品进行交易的记录。
						<br />
						4、付款码：指您消费时使用小辉付付款形成的用于向商户付款的指令（包括但不限于二维码形式、短信验证码形式）。付款码一经使用，无法撤销或变更。
						<br />
						5、贷款本金：指您在永辉金融合作商户的每一笔消费需要支付的对应价款的金额。贷款本金以商户订单记录及贷款人记账凭证为准。
						<br />
						6、账单：指您每个月收到永辉金融发出的本期应还款项，若您未收到账单，您应主动、及时查询账单内容，如您未在到期还款日前提出异议，视为您已认可全部交易事项及其产生的贷款，即您应当按照账单偿还应付款项。
						<br />
						7、还款日：指永辉金融为您指定的每个月固定偿还应付款项的时间。您的还款日以永辉金融相关页面展示为准。
						<br />
						二、<strong>贷款具体约定</strong>
						<br />
						1．本合同额度金额 {/* this.state.objContact[5] */}{" "}
						<span className="spaceline">
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						</span>
						元，额度期限自 {/* this.state.objContact[6] */}{" "}
						<span className="spaceline">
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						</span>
						年 {/* this.state.objContact[7] */}{" "}
						<span className="spaceline">
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						</span>
						月{" "}
						<span className="spaceline">
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						</span>
						{/* this.state.objContact[8] */} 日至{" "}
						{/* this.state.objContact[9] */}{" "}
						<span className="spaceline">
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						</span>
						年 {/* this.state.objContact[10] */}{" "}
						<span className="spaceline">
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						</span>
						月 {/* this.state.objContact[11] */}{" "}
						<span className="spaceline">
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						</span>
						日止。甲方根据乙方的信用表现实时对授信额度金额和有效期限进行调整。乙方取得授信额度后，应当在上述期限内使用授信。如果超过上述期限乙方未使用额度的，额度自动作废，乙方须向甲方重新申请额度。
						<br />
						2. 乙方贷款按月结账，账单日为每月
						<span className="spaceline">
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						</span>{" "}
						{/* this.state.objContact[13] */} 日，每月还款日为每月
						<span className="spaceline">
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						</span>{" "}
						{/* this.state.objContact[14] */}{" "}
						日。乙方应在账单日至每月还款日之间偿还账单金额，最迟不得超过每月还款日。乙方在每月还款日之前还款的，甲方免收乙方利息；在对于超过还款日的未还款项，甲方有权按日向乙方收取利息，日利率为年利率/360，本合同项下年利率参考本合同签署前一工作日全国银行间同业拆借中心最新1年期贷款市场报价利率（LPR）定价，具体利率以页面展示为准。
						<br />
						3、额度到期时，乙方应偿还全部剩余罚息、提现手续费（若有）、服务费、利息、本金。额度期满后，乙方仍应按照本合同的约定偿还其拖欠的任何款项。
						<br />
						4、应还款额：指乙方累计已逾期和在当月还款日应当偿还的消费贷款本金、手续费及其他应付款项（若有）的金额总和。
						<br />
						5、应付款项：指乙方累计未偿还的消费贷款本金、累计已产生且未偿还的利息及其他因本服务产生或与本服务有关的款项，包括但不限于甲方为乙方垫付的费用及实现债权的费用，如诉讼费、律师代理费、公证费、交通费、鉴定费、催收费用等。
						<br />
						<strong>三、客户服务：</strong>
						<br />
						甲方向乙方提供以下与本合同有关的服务：（1）贷款方案设计服务；（2）客户个人申请信息维护服务；（3）客户还款信息查询及还款渠道维护服务；（4）客户还款提醒及到账通知服务；（5）个人信用管理及维护服务。发生前述服务事项的，甲方有权就相应服务向乙方收取服务费用。
						<br />
						<strong>四、清偿顺序：</strong>
						<br />
						乙方可通过甲方APP或甲方合作方APP发起主动还款，采用银行或第三方代扣方式还款。乙方付至甲方账户的款项，按照如下顺序清偿各项债务：罚息、客户服务费、提现手续费、利息、贷款本金。
						<br />
						<strong>
							五、自动还款：
							<br />
							乙方不可撤销地授权银行或第三方支付公司按照甲方的指示从自动还款指定账户以及乙方在甲方关联公司处的留存款项中扣划资金用于偿还应还款额。自动还款指定账户：（账户名：
							<span className="spaceline">
								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
							</span>{" "}
							{/* this.state.objContact[15] */}；开户行名称：
							<span className="spaceline">
								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
							</span>{" "}
							{/* this.state.objContact[16] */}；账号：
							<span className="spaceline">
								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
							</span>{" "}
							{/* this.state.objContact[17] */}
							）作为还款账户，具体以乙方授信时指定的账户为准。
						</strong>
						<br />
						<strong>六、逾期还款：</strong>
						<br />
						乙方因按照本合同履行还款义务。乙方逾期后，若乙方使用“最低还款”或“分期还款”服务功能的，乙方应当按照页面提示进行款项偿还，如乙方逾期，甲方将根据罚息利率相应计息，直至还清逾期剩余本金。罚息利率为逾期当笔款项对应的利率上浮50%。
						<br />
						<strong>七、最低还款：</strong>
						<br />
						账单出账后，乙方可以按照系统提示，归还“最低还款”金额，剩余账单金额本月可不必在最后还款日前还清，系统不会将该种情况视为逾期，也不会影响乙方的信用记录，但乙方需要对剩余未还的本金，从最后还款日开始按日收取对应的利息。乙方可以随时将剩余本金结清或偿还部分金额，已还部分后续将不再收取对应利息。最低还款金额的计算，包括一定比例的当期账单本金+所有已发生的手续费用和利息（含逾期罚息）等，具体以页面展示为准。
						<br />
						最低还款利率以页面展示为准。
						<br />
						<strong>八、分期服务：</strong>
						<br />
						1、乙方可将消费产生的贷款本金分为若干期还款，甲方按照约定收取相应的费用。乙方可自主选择订单分期或账单分期。
						<br />
						（1）订单分期：在每次交易发生时或每月账单日之前，乙方可选择某笔订单贷款进行分期还款，并按照网站规则支付本金和相应利息等；
						<br />
						（2）账单分期：在每月账单日之后至还款日之前（含当日），乙方可申请对本期账单中可分期的消费产生的贷款本金进行分期，并按照网站规则支付本金和相应利息等；
						<br />
						2、分期期数：乙方可根据页面提示选择将分期付款分摊支付的月数。
						<br />
						3、分期费用：乙方选择“分期服务”需承担的费用，具体费用以页面展示为准，每期分期费用应当与当期本金一同偿还。
						<br />
						<strong>九、提前还款</strong>
						<br />
						在征得甲方同意的前提下，乙方可主动提前归还全部或部分贷款本金及利息、罚息、违约金等。
						<strong>
							特别提醒：当乙方提前归还本服务项下的部分或全部资金的，甲方有权向乙方收取相应的手续费（具体收费标准详见页面展示）。
						</strong>
						<br />
						<strong>十、额度调整与止付：</strong>
						<br />
						甲方有权根据乙方的贷款表现对额度进行调整，包括调增或调减。若乙方存在逾期款项，则额度止付，乙方必须偿还全部欠款后方可再次借款。
						<br />
						<strong>十一、各方权利义务：</strong>
						<br />
						1、乙方须按本合同的约定享有权利并履行义务。
						<br />
						2、乙方承诺并保证向甲方提交的所有资料和信息完整、真实、准确、合法有效。乙方在甲方或甲方合作方的互联网平台上通过点击确认或以其他任何方式签署本合同，是本人的真实意愿，乙方并已充分理解本合同项下所有内容。
						<br />
						3、乙方授权甲方或甲方指定第三方从乙方指定或绑定的银行账户将期款及所有本合同项下的其他应付款项划扣至甲方账户，而无需进一步通知乙方或者得到其同意。一旦甲方接入乙方指定或绑定银行账户的代扣服务，乙方同意并不可撤销的授权甲方或甲方指定第三方对其指定或绑定的全部银行账户进行代扣还款的设置，而无需进一步通知乙方或得到其同意。若乙方指定银行账户发生变更，乙方应在账户变更后及时通知甲方并经甲方确认，授权划扣账户相应发生变更。除非乙方特别申明，乙方变更划扣账户的效力及于甲方与乙方签订的所有未结合同。乙方应当保证指定银行账户中存有足够的额度，且该账户不存在任何查封、冻结等情形，无论何种原因，如果代扣失败，乙方在本合同项下的还款义务并不减免，乙方应采用其它合理方式继续偿还且由此造成的逾期费用及违约责任等，均由乙方按本合同约定承担。
						<br />
						4、乙方同意甲方有权向乙方发送与本合同内容有关的信息及通知，包括但不限于放款通知、还款提醒及逾期催收等信息，发送方式包括但不限于电话、短信、邮寄、传真等。
						<br />
						5、乙方有下列情况之一的，甲方均可随时宣布贷款提前到期，要求乙方立即偿还借款本息：
						<br />
						（1）未按期偿还本金或未按期支付利息；
						<br />
						（2）未按约定的借款用途使用借款的；
						<br />
						（3）未按期向甲方清偿其他到期债务或未按期清偿其他任何金融机构或第三人到期债务的；
						<br />
						（4）乙方为签订本合同向甲方提供的信息与资料有任何一项虚假的；未提供真实、完整的财务报表或其他相关资料、信息；不积极配合甲方对其生产经营、财务活动及本合同项下借款使用情况的检查的；
						<br />
						（5）进行或申请进行破产、申请停业整顿、解散、歇业，或被上级主管部门撤销或停业；
						<br />
						（6）涉及诉讼、仲裁或其资产被扣押、查封、冻结、强制执行或被采取了具有同样效力的其他措施；
						<br />
						（7）签署对履行本合同项下义务的能力有重大不利影响的合同、协议或承担具有这一影响的有关义务；
						<br />
						（8）未征得甲方书面同意而转让（包括出售、赠与、抵债、交换等形式）、抵押、质押或以其他方式处分其重大资产的全部或大部分以及为他人债务提供保证；
						<br />
						（9）乙方有涉及黑社会活动、吸毒、赌博、走私等违法行为的；
						<br />
						（10）乙方有欠税、欠费情形的；
						<br />
						（11）乙方因丧失民事行为能力、死亡、被宣告失踪而无监护人、继承人或财产保管人，或监护人、继承人或财产保管人不能继续履行本合同的；
						<br />
						（12）发生其他甲方认为需要提前偿还贷款的情况。
						<br />
						甲方有权根据自身判断单方宣布贷款提前到期，无需乙方同意；甲方宣布提前到期后，乙方应按照本合同履行还本付息等义务。
						<br />
						<strong>
							6、乙方使用本额度项下贷款消费时，应保留相应的消费凭据（包括但不限于发票、收据、购物凭证等），在甲方要求提供时，乙方应当提供。
							<br />
							7、乙方使用电子签名的，知悉电子签名制作数据已经失密或者可能已经失密未及时告知甲方等有关各方、并终止使用电子签名制作数据以及未向电子认证服务提供者提供真实、完整和准确的信息，或者有其他过错，给甲方等电子签名依赖方造成损失的，应承担全部赔偿责任。
							<br />
							8、乙方不得与商户或第三方通过虚假交易、虚开价格、现金退货或其他任何方式将甲方提供的资金进行变现。
							<br />
							9、乙方应当妥善保管付款时生成的支付码（包括但不限于二维码形式、短信验证码形式的支付码），除真实交易外不得将支付码以任何形式提供给任何第三方，通过乙方生成的支付码所产生的贷款均视为乙方本人的行为，由此引起的法律责任由乙方自行承担。
							<br />
							10、乙方同意甲方根据有关监管规定，将与本合同有关的信息和乙方其他相关信息提报送小额贷款公司的监管部门、行业自律组织和监管信息系统，供监管部门使用和乙方授权查询使用。
							<br />
							11、乙方同意甲方根据有关法律法规、监管规定，将于本合同有关的信息和乙方其他相关信息提供给中国人民银行征信系统和其他依法设立的信用信息数据库。甲方有权为本合同订立和履行之目的，通过中国人民银行征信系统、其他依法设立的信用信息数据库以及授权第三方催收公司查询乙方和保证人的相关信息。
							<br />
							12、乙方在此保证，将按照本合同约定的借款用途使用借款，并按本合同约定的还款、付息时间按期归还借款本息；如违反本合同约定时，甲方除依法追究乙方违约责任外，有权将乙方的违约行为录入行业监管系统和征信系统以及其他第三方依法设立的信用信息数据库，并有权在网络、报纸等媒体、媒介进行公布、催告。
						</strong>
						<br />
						十二、争议解决
						<br />
						1、本合同适用中华人民共和国法律（基于本合同之目的，在此不包括香港、澳门特别行政区和台湾地区法律），并按其解释。有关本合同的一切争议可通过友好协商解决；协商不成的，双方当事人选择向甲方住所地人民法院提起诉讼。
						<br />
						2、争议期间，不影响其他条款的履行；如贷款到期或提前到期的，乙方不得以产生争议或者已提请诉讼、仲裁为由延缓履行还款义务。
						<br />
						3、败诉方应承担对方为解决本争议而产生的所有费用，包括但不限于诉讼费、保全费、律师费、公证费、交通费等。
						<br />
						<strong>十三、通知与送达：</strong>
						<br />
						<strong>
							1、本合同书项下任何通知或函件或法律文书（包括但不限于诉讼和仲裁文书）以书面形式邮寄至本合同开头载明的联系地址或乙方身份证地址，也可采用数据电文方式送达；邮寄至上述地址或以数据电文形式送达到各数据接收系统的，即视为已送达。如任何一方的联系地址、联系电话发生变更时，应在三日内以书面形式通知对方，否则变动方应自行承担相应的法律责任。乙方拒收相关文件的，不影响送达的效力。
						</strong>
						<br />
						2、乙方若认为邮件封面标题与邮件中实际文件内容不符的，应在自收到邮件之日起三个工作日内书面通知甲方，逾期视为邮件封面标题与邮件中实际文件内容一致。
						<br />
						<strong>十四、其他</strong>
						<br />
						甲方可自主决定将其在本合同项下的债权转让给任何第三方而无需取得乙方同意；甲方进行债权转让的，可自主决定是否以及采用包括但不限于短信、邮件、信函或公告等各种形式对乙方进行告知；甲方以公告的方式通知乙方的，自甲方公告发布之时起满24小时视为通知已送达乙方；除非双方另有约定，债权转让后乙方的偿还支付方式不发生变化。债权转让后，争议管辖地由债权受让人所在地人民法院管辖。
						<br />
						<br />
						<br />
						甲方：&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;乙方：&emsp;&emsp;
						<br />
						<br />
						&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;日期：&emsp;年&emsp;月&emsp;日
						<br />
					</div>
					{/* {
                    this.props.setUserType.personalContract == "0" &&
                    <a className="submit-btn submit-btn-success" id="bottomDom"
                        onClick={this.signContact.bind(this)}>同意并签署</a>
                } */}
				</div>
			</MainLayout>
		);
	}

	//签署个人征信合同
	signContact = () => {
		Toast.loading("Loading...", 100, () => {});
		const params = {
			url: `/personal/signCreditContract/0`,
			header: this.props.getAppPlatformsDatas,
			params: {},
			_alertShow: false
		};
		yhTools.request(params).then(res => {
			Toast.hide();
			if (res.code == "0") {
				//TODO 签署成功首页
				//window.YHAuthorize.callHandler("SDK_ClosePage", {}, resp => {});
				window.location.replace("#/tabPage"); //
			} else {
				Toast.info(res.message, 2);
			}
		});
	};
}

function mapStateToProps(state) {
	return state;
}

function mapDispatchToProps(dispatch) {
	return {
		_getAppPlatformsDatas: options => {
			//获取原生
			dispatch(getAppPlatformsDatas(options));
		},
		_setUserType: options => {
			dispatch(setUserType(options));
		}
	};
}

const PersonalCreditAmountContractPage = connect(
	mapStateToProps,
	mapDispatchToProps
)(PersonalCreditAmountContract);
export default PersonalCreditAmountContractPage;
